package com.dji.sdk.sample.internal.utils; import com.dji.sdk.sample.internal.controller.DJISampleApplication; import dji.sdk.products.Aircraft; import dji.sdk.products.HandHeld; /** * Created by dji on 16/1/6. */ public class ModuleVerificationUtil { public static boolean isProductModuleAvailable() { return (null != DJISampleApplication.getProductInstance()); } public static boolean isAircraft() { return DJISampleApplication.getProductInstance() instanceof Aircraft; } public static boolean isHandHeld() { return DJISampleApplication.getProductInstance() instanceof HandHeld; } public static boolean isCameraModuleAvailable() { return isProductModuleAvailable() && (null != DJISampleApplication.getProductInstance().getCamera()); } public static boolean isPlaybackAvailable() { return isCameraModuleAvailable() && (null != DJISampleApplication.getProductInstance() .getCamera() .getPlaybackManager()); } public static boolean isMediaManagerAvailable() { return isCameraModuleAvailable() && (null != DJISampleApplication.getProductInstance() .getCamera() .getMediaManager()); } public static boolean isRemoteControllerAvailable() { return isProductModuleAvailable() && isAircraft() && (null != DJISampleApplication.getAircraftInstance() .getRemoteController()); } public static boolean isFlightControllerAvailable() { return isProductModuleAvailable() && isAircraft() && (null != DJISampleApplication.getAircraftInstance() .getFlightController()); } public static boolean isCompassAvailable() { return isFlightControllerAvailable() && isAircraft() && (null != DJISampleApplication.getAircraftInstance() .getFlightController() .getCompass()); } public static boolean isFlightLimitationAvailable() { return isFlightControllerAvailable() && isAircraft(); } public static boolean isGimbalModuleAvailable() { return isProductModuleAvailable() && (null != DJISampleApplication.getProductInstance().getGimbal()); } public static boolean isAirlinkAvailable() { return isProductModuleAvailable() && (null != DJISampleApplication.getProductInstance().getAirLink()); } public static boolean isWiFiLinkAvailable() { return isAirlinkAvailable() && (null != DJISampleApplication.getProductInstance().getAirLink().getWiFiLink()); } public static boolean isLightbridgeLinkAvailable() { return isAirlinkAvailable() && (null != DJISampleApplication.getProductInstance() .getAirLink() .getLightbridgeLink()); } }